package com.lh.principle.composite;

public class Demo1 {

	public static void main(String[] args) {

		Car car = new Car("宝马");
		car.startCar();
		car.stopCar();


	}
}

class Car {
	private Engine engine; // 使用合成关系，将引擎组合到汽车中

	public Car(String engineType) {
		engine = new Engine(engineType); // 在构造函数中创建引擎对象
	}

	public void startCar() {
		engine.start(); // 调用引擎对象的启动方法
	}

	public void stopCar() {
		engine.stop(); // 调用引擎对象的停止方法
	}
}

// 引擎类
class Engine {
	private String type;

	public Engine(String type) {
		this.type = type;
	}

	public void start() {
		System.out.println("Engine started");
	}

	public void stop() {
		System.out.println("Engine stopped");
	}
}